#pragma once

#include <fstream>
#include <vector>
#include <cmath>
#include <limits.h>
#include <iostream>
using namespace std;

size_t shape2size(vector<int> shape);

void read_blob(string file, size_t size, vector<float>& out);

void pad(vector<float>& input, vector<int> input_shape, int pad_top, int pad_bottom, int pad_left, int pad_right, vector<float>& output);

bool vec_equal(vector<float> a, vector<float> b);

bool check_float_bits();

void im2col(vector<float>& data_im, int channels, int height, int width, int ksize, int stride, int pad, vector<float>& data_col);
